/**
 * Created by python on 18-11-9.
 */
var app = new Vue({
    el:"#app",
    delimiters: ['[[', ']]'], // 修改vue模板符号，防止与django冲突
    data:{
        // 页面中需要使用到的数据，键值对
        tweets :[],
        page: 1, // 当前页数
        page_size: 5, // 每页数量
        count: 0,  // 总数量
    },
    computed:{total_page: function(){  // 总页数
            return Math.ceil(this.count/this.page_size);
        },
        next: function(){  // 下一页
            if (this.page >= this.total_page) {
                return 0;
            } else {
                return this.page + 1;
            }
        },
        previous: function(){  // 上一页
            if (this.page <= 0 ) {
                return 0;
            } else {
                return this.page - 1;
            }
        },
        page_nums: function(){  // 页码
            // 分页页数显示计算
            // 1.如果总页数<=5
            // 2.如果当前页是前3页
            // 3.如果当前页是后3页,
            // 4.既不是前3页，也不是后3页
            var nums = [];
            if (this.total_page <= 5) {
                for (var i=1; i<=this.total_page; i++){
                    nums.push(i);
                }
            } else if (this.page <= 3) {
                nums = [1, 2, 3, 4, 5];
            } else if (this.total_page - this.page <= 2) {
                for (var i=this.total_page; i>this.total_page-5; i--) {
                    nums.push(i);
                }
            } else {
                for (var i=this.page-2; i<this.page+3; i++){
                    nums.push(i);
                }
            }
            return nums;
        }
        // 需要通过计算得到的数据，键值对 ，键是名称，值是匿名函数
    },
    mounted:function () {

        axios.get(host+'/tweets')
            .then(response=>{
            console.info(response.data)
            this.tweets = response.data.results;
            this.count = response.data.count
            })
            .catch(errpr=>{
                alert('出错了')
            })
    },
    methods:{
        // 请求商品数据
        get_tweets: function(page){
            axios.get(host+'/tweets?page='+page)

                .then(response => {
                    this.count = response.data.count;
                    this.tweets = response.data.results;

                })
                .catch(error => {
                    console.log(error.response.data);
                })
        },
        // 点击页数
        on_page: function(num){
            if (num != this.page){
                this.page = num;
                this.get_tweets(this.page);
            }
        },
        // 需要用到的函数，键值对 ，键是名称，值是匿名函数
    }
})